#include "lw_include.h"
#include "animal.h"
#include "dog.h"
#include "fish.h"

int main(int argc, char* argv)
{
	argc;
	argv;

	animal* animal1 = NULL;
	animal* animal2 = NULL;
	dog* dog1 = NULL;
	dog* dog2 = NULL;
	fish* fish1 = NULL;
	
	animal1 = lw_new(animal_klass);
	animal_set_name(animal1, "Kitty");
	animal_set_weight(animal1, 30);
	printf("animal1, name : %s, weight : %d, move : %s\n",
	animal_get_name(animal1),
	animal_get_weight(animal1),
	animal_move(animal1));
	lw_delete(animal1);

	animal2 = lw_new(animal_klass);
	animal_set_name(animal2, "Bib");
	animal_set_weight(animal2, 10);
	printf("animal2, name : %s, weight : %d, move : %s\n",
	animal_get_name(animal2),
	animal_get_weight(animal2),
	animal_move(animal2));
	lw_delete(animal2);

	dog1 = lw_new(dog_klass);
	animal_set_name(ANIMAL(dog1), "Kate");
	animal_set_weight(ANIMAL(dog1), 10);
	tail_set_move(dog_get_tail(dog1), FALSE);
	dog_set_age(dog1, 3);
	printf("dog1, name : %s, weight : %d, age : %d, move : %s, tail move : %d\n",
	animal_get_name(ANIMAL(dog1)),
	animal_get_weight(ANIMAL(dog1)),
	dog_get_age(dog1),
	animal_move(ANIMAL(dog1)),
	tail_can_move(dog_get_tail(dog1)));
	lw_delete(dog1);

	dog2 = lw_new(dog_klass);
	animal_set_name(ANIMAL(dog2), "Jim");
	animal_set_weight(ANIMAL(dog2), 20);
	dog_set_age(dog2, 4);
	printf("dog2, name : %s, weight : %d, age : %d, move : %s, tail move : %d\n",
	animal_get_name(ANIMAL(dog2)),
	animal_get_weight(ANIMAL(dog2)),
	dog_get_age(dog2),
	animal_move(ANIMAL(dog2)),
	tail_can_move(dog_get_tail(dog2)));
	lw_delete(dog2);

	fish1 = lw_new(fish_klass);
	animal_set_name(ANIMAL(fish1), "Boo");
	animal_set_weight(ANIMAL(fish1), 20);
	fish_set_in_sea(fish1, FALSE);
	printf("fish1, name : %s, weight : %d, in_sea : %d, move : %s\n",
	animal_get_name(ANIMAL(fish1)),
	animal_get_weight(ANIMAL(fish1)),
	fish_is_in_sea(fish1),
	animal_move(ANIMAL(fish1)));
	lw_delete(fish1);

	return 0;
}
